package com.cyou.dream.core;

import com.cyou.dream.context.RuleContext;

/**
 * IRule 接口
 * <p>
 * 所有具体的规则类都应实现该接口才能实现风险的评估
 * <p>
 * 规则示例：{@link com.cyou.dream.rule.NaturalDayCounterRule}
 */
public interface IRule {

    /**
     * 评估规则是否通过。
     *
     * @param context 规则评估的上下文对象，包含规则执行所需的参数和实际键。
     * @return 返回规则的评估结果，true 表示规则通过，false 为未通过。
     */
    boolean evaluate(RuleContext context);

}